1. Field of the Invention
The present invention relates to a production system provided with an industrial robot and machine tool and a production control apparatus.
2. Description of the Related Art
In a production system comprised of an industrial robot (hereinafter referred to as a “robot”) and a machine tool, the system behavior is defined by the cooperative operations of the robot and machine tool. This “cooperation”, for example, means the robot sets a not yet machined workpiece in the machine tool, then the machine tool machines it, the machine tool finishes machining, then the robot takes out the finished machined workpiece. In addition to such simple cooperation, the cooperative operations include parallel operations where the time during which the machine tool is machining is utilized for the robot to transport the workpiece to be next machined.
To realize this cooperation, the robot and the machine tool can communicate in some form or another. The robot and machine tool may be made to directly communicate or the robot and machine tool may be connected to PLCs and be connected to each other through the PLCs.
In both cases, to realize cooperation between the robot and machine tool, a production control apparatus for obtaining a grasp of this cooperation is necessary. In the simplest mode, the robot performs the role of the production control apparatus. In this case, the robot sets a workpiece at the machine tool, then the robot instructs the machining to the machine tool, waits until the machining program ends at the machine tool, then takes out the workpiece. Further, when the machine tool performs the role of the production control apparatus, the machine tool instructs the robot to take out the machined workpiece and set an unmachined workpiece and starts machining after the robot work ends.
However, when the robot performs the role of the production control apparatus, the work program of the robot includes work on the robot itself and instructions to the machine tool, so the work program of the robot becomes complicated and changing it becomes difficult. In the same way as when the machine tool acts as the production control apparatus, the work program of the robot becomes simple, but the machining program of the machine tool becomes more complicated by that extent.
Therefore, to realize complicated behavior, it is preferable to provide an independent production control apparatus and make that production control apparatus issue instructions to the robot and machine tool. Due to this, both the work program of the robot and the machining program of the machine tool become simple.
Even in a production system comprised of one robot and one machine tool, the robot and machine tool can operate simultaneously, so it is difficult to realize the behavior of the robot and machine tool by a single program.
In a general production system comprised of a plurality of robots and a plurality of machine tools, it becomes more difficult to describe their behaviors. This is because in a production system where a plurality of robots and a plurality of machine tools can simultaneously operate, the number of states of the production system as a whole is expressed by the combination of the number of states of the individual robots and the number of states of the individual machine tools, so the number of states of the production system as a whole becomes enormous.
To solve this problem, in Japanese Patent Publication (A) No. 2006-343828, each work program of the robot is divided into certain units and a suitable work program is started up in accordance with the situation of the production system. With this method, a certain unit of the work program is linked with conditions for startup of this work program, so there is no need to obtain a grasp of the total number of states of the production system as a whole. Therefore, it becomes easy to newly add a work program to an existing production system or to change the work program.
However, with the system of Japanese Patent Publication (A) No. 2006-343828 linking a program and conditions under which that program can be run, it is not enough to enable a grasp of the states of the robot and machine tool forming the production system. In this case, it is necessary to obtain a grasp of not only the states of the robot and machine tool, but also the states of the jig and robot hand holding the workpiece. Further, particularly importantly, it is necessary to obtain a grasp of how a workpiece flows in the production system.
The importance of obtaining a grasp of the flow of a workpiece when an error occurs in the production system will be explained. For example, in a production system comprised of two robots, assume an operation where a robot 1a carries a workpiece from a table A to a table B and a robot 2a carries a workpiece from a table B to a table C. If the robot 1a correctly conveys the workpiece from the table A to the table B, the workpiece should be present on the table B.
However, after the conveyance by the robot 1a, the workpiece may end up falling off the table B due to some sort of reason. In such a case, the robot 2a naturally cannot carry this workpiece, so this state becomes an error.
However, in a production system not obtaining a grasp of the flow of the workpiece, information of whether a workpiece should be present on the table B is not obtained from the start, so even if the workpiece falls from the table B, this will not be recognized and the robot 2a will move to obtain a nonexistent workpieces from the table B.
Even if providing the table B with some sort of sensor, if linked with a program whereby the robot 2a moves to pick up a workpiece when there is a workpiece at the table B, the robot 2a will never operate to pick up a nonexisting workpiece. However, in this case, there is no workpiece on the table B, so the production system will end up stopping operation there. At this time, despite the production system being in the error state, the two robots are both operating normally. That is, if just obtaining a grasp of the states of the robots, it is not possible to determine if an error has occurred in the production system.
Further, when error occurs due to such a workpiece not being present at the expected location, in a production system which cannot obtain a grasp of the flow of the workpiece, the means for clearing that error are not clarified. In the above-mentioned example, it is clear that the workpiece dropping off the table B is the cause of the error. Further, there are the following options for this cause: placing the workpiece back on the table B, removing the workpiece, or returning the workpiece to the table A.
The option of placing the workpiece back on the table B may appear to be the best, but depending on how the workpiece is placed on the table B, it may be impossible for the robot 2a to grasp the workpiece. Further, in the case of the options of removing the workpiece or returning the workpiece to the table A, in a production system unable to obtain a grasp of the flow of the workpiece, it is not possible to determine by what party other than the robot the workpiece is moved, therefore it is unclear if the production system will operate normally after that.